package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为List集合
 * 使用数组的工具类:java.util.Arrays的静态方法asList.可以将一个数组转换为一个List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("array:"+ Arrays.toString(array));
        //集合的泛型与数组的类型一致
        List<String> list = Arrays.asList(array);
        System.out.println("list:"+list);

        //从数组转换来的集合，对其操作就是对原数组的操作
        list.set(1,"six");
        System.out.println("list:"+list);
        System.out.println("array:"+ Arrays.toString(array));
        //由于数组定长，因此该集合会改变元素个数的操作均不支持！会抛出不支持的操作异常
//        list.add("seven");
        //因此可以自行创建一个集合并包含数组转换的集合中所有元素后进行操作
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2:"+list2);
        list2.add("seven");
        System.out.println("list2:"+list2);
    }
}
